package com.tencent.iov.cowin.befsale.clue.controller.clue.vo.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.software.common.model.request.ScrmBaseRequest;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 查询_Request层
 *
 * @author whp
 * @version 1.0
 * @created 2021-12-21 16:16:06
 */
@Data
@ApiModel(description = "线索信息表_Request层")
public class QueryClueCollectListRequest extends ScrmBaseRequest {

    /**
     * 关键字搜索 (搜索匹配客户姓名/客户手机/跟进顾问)，
     * bef_dealer_customer/bef_oem_customer表的 name，phone，phone_bak，follow_emp_id（对应的name,跟进人名称在其它表）
     * 其中 顾问是搜索顾问名称，所以要么冗余顾问名称在customer表，要么要关联顾问表
     */
    @ApiModelProperty(value = "关键字搜索 (搜索匹配客户姓名/客户手机/跟进顾问)", example = "stringValue")
    private String keyWord;

    //不知道搜索哪里
    @ApiModelProperty(value = "好友状态： 未绑定好友，已绑定好友" )
    private Integer firendStaus;

    /**
     * bef_clue线索表
     * 线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系
     */
    @ApiModelProperty(value = "线索状态（ 0跟进中 10已到店，15已下订，20已交车，25已实销，30战败审核 35已战败 跟进内容关联关系", example = "1")
    private List<Integer> statusList;

    /**
     * bef_clue线索表
     * 意向等级_意向字典
     */
    @ApiModelProperty(value = "意向等级_意向字典", example = "stringValue")
    private List<String> intentionGradeList;

    /**
     * bef_clue线索表
     * 线索创建时间
     */
    @ApiModelProperty(value = "线索创建时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date clueCreatedTime;

    /**
     * 线索下发经销商时间
     */
    @ApiModelProperty(value = "线索下发经销商时间", example = "2022-03-28T13:46:56.711Z")
    private Date cluePlanTime;
    /**
     * 线索创建开始时间
     */
    @ApiModelProperty(value = "线索创建开始时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date clueCreatedTimeStartTime;
    /**
     * 线索创建结束时间
     */
    @ApiModelProperty(value = "线索创建结束时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date clueCreatedTimeEndTime;

    /**
     * 计划跟进线索bef_oem_customer_follow_plan/bef_dealer_customer_follow_plan表 plan_follow_content字段
     * 计划跟进内容 0产品介绍 1到店接待，2试乘试驾，3下订，4交车
     */
    @ApiModelProperty(value = "计划跟进内容" )
    private List<String> planFollowContentList;


    /**
     * 逾期时间，在计划跟进线索bef_oem_customer_follow_plan/bef_dealer_customer_follow_plan表 plan_follow_time字段，
     */
    @ApiModelProperty(value = "逾期时间", example = "stringValue")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date overdueTime;

    /**
     * 逾期开始时间
     */
    @ApiModelProperty(value = "逾期开始时间", example = "stringValue")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date overdueTimeStartTime;

    /**
     * 逾期结束时间
     */
    @ApiModelProperty(value = "逾期结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date overdueTimeEndTime;

    /**
     * 试驾开始时间,线索跟进记录bef_oem_customer_follow_record/bef_dealer_customer_follow_record表，follow_content为试乘试驾时的created_time
     */
    @ApiModelProperty(value = "试驾开始时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date testDriveStartTime;
    /**
     * 试驾结束时间
     */
    @ApiModelProperty(value = "试驾结束时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date testDriveEndTime;

    /**
     * 订单开始时间,线索跟进记录bef_oem_customer_follow_record/bef_dealer_customer_follow_record表，follow_content为下订时的created_time
     */
    @ApiModelProperty(value = "订单开始时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderStartTime;
    /**
     * 订单结束时间
     */
    @ApiModelProperty(value = "订单结束时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date orderEndTime;
    /**
     * 实销开始时间 线索跟进记录bef_oem_customer_follow_record/bef_dealer_customer_follow_record表，的created_time
     * 实销标识：线索跟进记录表的status=5实销记录
     */
    @ApiModelProperty(value = "实销开始时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date solidPinStartTime;
    /**
     * 实销结束时间
     */
    @ApiModelProperty(value = "实销结束时间" )
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date solidPinEndTime;

    //bef_oem_customer_follow_record/bef_dealer_customer_follow_record表 算跟进次数
    @ApiModelProperty(value = "跟进次数" )
    private Integer recordCount;

    //客户标签 查询bef_oem_customer_tag_rel表/bef_dealer_customer_tag_rel表
    @ApiModelProperty(value = "客户标签列表" )
    private List<String> tagIdList;

    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id", example = "stringValue")
    private String tenantId;
    /**
     * 企微id
     */
    @ApiModelProperty(value = "企微id", example = "stringValue")
    private String corpId;

    /**
     * 经销商id
     */
    @ApiModelProperty(value = "经销商id", example = "stringValue")
    private String dealerId;

}